package it.eng.area118.mdocommon;

import it.eng.area118.mdocommon.notification.DialogCallback;
import it.eng.area118.mdocommon.notification.InputTextDialogCallback;
import it.eng.area118.mdocommon.notification.SimpleAlertNotificationCallback;
import it.eng.area118.mdocommon.notification.YesNoAlertNotificationCallback;
import android.app.AlertDialog;
import android.app.Dialog;
import android.view.View;

/**
 * 
 * @author Luigi Bifulco
 * 
 */
public interface Notification {

	public AlertDialog showSimpleAlert(String title, String msg,
			SimpleAlertNotificationCallback callback);

	public AlertDialog showYesNoAlert(String title, String msg,
			YesNoAlertNotificationCallback callback);

	public void showInputTextDialog(String title, String msg,
			InputTextDialogCallback callback);

	public <E> E showStatusBarNotification(String uiKey, int icon,
			String sTickerText, String contentTitle, String contentText);

	public void showOptionDialog(String title, String msg, String[] items,
			InputTextDialogCallback callback);

	public void showSpinnerDialog(String title, String msg,
			final String[] items, InputTextDialogCallback callback);

	public <E, T> E createCustomDialog(String title, int contentView,
			DialogCallback<T> callback);

	public Dialog createCustomDialog(String title, View content);

	public <E> E createCustomDialog(String title, int contentViewId,
			int okResourceId, SimpleAlertNotificationCallback callback);

	public <E> E createCustomDialog(String title, String content,
			int textViewId, int contentViewId, int okResourceId,
			SimpleAlertNotificationCallback callback);

	public void showInputTextDialog(String title, String msg, String content,
			InputTextDialogCallback callback);

}
